#include "Graphics/IDeviceBufferManager.h"

#include "Graphics/IDeviceBufferManagerBase.h"

namespace tyro
{
	namespace Graphics
	{


		VertexBufferBinding* IDeviceBufferManager::CreateVertexBufferBinding( void )
		{
			return bufferMgrImpl->CreateVertexBufferBinding();
		}

		IDeviceBufferManager::IDeviceBufferManager( IDeviceBufferManagerBase* mgr )
			:	bufferMgrImpl(mgr)
		{

		}

		VertexDeclaration* IDeviceBufferManager::CreateVertexDeclaration( void )
		{
			return bufferMgrImpl->CreateVertexDeclaration();
		}

		tyro::Graphics::IDeviceVertexBufferSharedPtr IDeviceBufferManager::CreateVertexBuffer( size_t vertexSize, size_t numVerts )
		{
			return bufferMgrImpl->CreateVertexBuffer(vertexSize, numVerts);
		}

		tyro::Graphics::IDeviceIndexBufferSharedPtr IDeviceBufferManager::CreateIndexBuffer( VertexIndexType indexType, size_t numIndecies )
		{
			return bufferMgrImpl->CreateIndexBuffer(indexType, numIndecies);
		}

	}
}